The present invention relates to methods and apparatus for selecting software patches on a computer operating system, and, more particularly, for selecting software patches for installation on an HP-UX operating system.
The software portion of most computer systems includes both an operating system and a broad array of application programs, both of which are subject to regular modification. The release of a new version of a Microsoft operating system always makes headlines as it typically impacts existing application programs running on the computer system and may necessitate modification to operate properly. Additionally, no software program is perfect and the release of numerous software patches to fix specific problems, and the release of new versions to fix or upgrade major problems are the norm.
Between the release of new versions of a software product, minor modifications and xe2x80x9cbug fixesxe2x80x9d are typically made by the software developer in the form of software patches which are accessible for installation by users. There exists patch installation products that provide for identifying known patches as part of the Customer Operation Profile function in most computer operating systems. These prior solutions have the disadvantage of being very time consuming to use as they list every possible patch that could apply to a given system (sometimes more than 300) and require a manual sort through the list of patches to determine which patches are most relevant. A complete patch analysis takes approximately two to four hours. Prior solutions, for example ProPatch, provide a rough capability to target patches strictly according to a product/file set combination, however, patches are often required on items that reside in different areas. For instance, patching Omniback requires more than just patching the product itself, patches are required for commands, kernel, and file systems.
There exists a need for a high quality patch analysis tool that takes extensive knowledge of products, patches, and system-level knowledge.
A need also exists to provide a capacity for true grouping of patches according to product.
A need also exists to provide for the automatic recognition of the product version on a customer""s systems, such that a user is not forced to figure out the version of the product and choose the appropriate patches.
It would be desirable and of considerable advantage to provide a patching tool that solves the problem of irrelevant patches, employs extensive knowledge, and is a true product-based patching tool by having the tool""s user select from a list of products which are backed by sets of patches that have been researched for relevance to the product being patched. Further, such a patch tool could be advantageous if version smart, in that it can understand the version of information passed back such that version specific patches may be chosen, especially if the new patch tool provided an improvement in any of the following areas: reduction in time required to complete a patch analysis, smaller list of patches to choose from, patching performed according to how customers view their system (at the true product level) and the ability to research potential patches such that less knowledge is needed by the person performing the patch analysis.
The present invention is a patch selection tool providing a method for identifying software patches for installation on a computer system. Current versions of desired operating systems, software applications and patches installed or to be installed on the computer system are identified. A script is run on the computer system to create a file (called a PSIfile) of the actual operating system, software applications and patches, including versions, that are properly installed on the system. The PSIfile is uploaded into the patch tool and any installed patches which are bad are identified. The patch tool then compares the list of desired operating systems, software applications and patches to those actually installed as identified in the PSIfile. An initial list of recommended patches is generated by identifying those patches associated with the combination of the installed products and the validated list of datasheet selected products.
The initial list of patches is checked for patches that are missing dependent patches; and dependencies are added as necessary. The initial list is also checked against itself and against the list of installed patches to remove patches that are anticipated by newer versions of software that have already been installed or recommended. The list is also checked to make sure the recommended patches will execute upon installation. If there are bad patches that have not been resolved, the user is presented with a list of the bad patches, and is forced to resolve them before continuing. If the patch tool was already going to recommend a newer version of a bad patch, the new patch is given.
A final check list is checked against itself for patches that cause structural conflicts. Structural conflicts are presented to the user for further, manual intervention.
The patch tool user reviews the final list and can deselect any of the recommendations or manually add patches and re-analyze, download the list of patches into the Xpatch patch ordering tool, or the user may load the list of patches into an ongoing patch analysis.
Other aspects and advantages of the present invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.